МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ДОСЛІДЖЕННЯ ЗАХИСТУ КОМПЮТЕРНИХ СИСТЕМ ЗА ДОПОМОГОЮ СИМЕТРИЧНИХ КРИПТОГРАФІЧНИХ ШИФРІВ
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторної роботи №3, 4
з курсу “Системи ТЗІ”
для студентів спеціальності
Затверджено
на засіданні кафедри
“Захист інформації” протокол № від 2010 р.
Львів – 2010
Мета: Ознайомитись з алгоритмами і методами шифрування симетричними блоковими шифрами. Отримати навики роботи з шифрами DES-EBC, DES-CBC. Ознайомитись з алгоритмом AES. Навчитися проводити шифрування і дешифрування тексту, застосовуючи демонстраційний модуль пакету CrypTool. Навчитися застосовувати набуті знання в галузі інформаційної безпеки.
1. Симетричні шифри
Симетричні шифри - спосіб шифрування, в якому для шифрування і дешифрування застосовується один і той же криптографічний ключ. Ключ алгоритму повинен зберігатися в секреті обома сторонами. Ключ алгоритму вибирається сторонами до початку обміну повідомленнями.
В даний час симетричні шифри - це:
блокові шифри, обробляють інформацію блоками певної довжини (наприклад 64, 128 біт), застосовуючи до блоку ключ в установленому порядку, як правило, декількома циклами перестановки і підстановки, званими раундами;
потокові шифри, у яких шифрування проводиться над кожним бітом або байтом початкового (відкритого) тексту з накладанням гами. Потоковий шифр може бути створений на основі блокового запущеного в спеціальному режимі.
Поширені алгоритми симетричного шифрування:
AES (англ. Advanced Encryption Standard) - перспективний стандарт шифрування;
ГОСТ 28147-89 — російський стандарт шифрування даних;
DES (англ. Data Encryption Standard) - стандарт шифрування даних в США до AES;
3DES (Triple-DES, потрійний DES);
RC6 (Шифр Ривеста);
Twofish;
IDEA (англ. International Data Encryption Algorithm);
SEED - корейський стандарт шифрування даних;
Camellia - сертифікований для використанні в Японії шифр;
CAST (за ініціалами розробників Carlisle Adams і Stafford Tavares);
XTEA - найбільш простий в реалізації алгоритм.
1.1. DES (Data Encryption Standard – стандарт шифрування даних).
Симетричний алгоритм шифрування, в якому один ключ використовується як для шифрування, так і для дешифрування даних. DES шифрує блоки по 64 біт і 16 циклову структуру. Для шифрування використовує ключ з довжиною 56 біт. Алгоритм використовує комбінацію нелінійних (S-блоки) і лінійних (перестановки E, IP, IP-1) перетворень. Для DES рекомендовано декілька режимів:
· режим електронної кодової книги (ECB - Electronic Code Book);
· режим зчеплення блоків (СВС - Cipher Block Chaining);
· режим зворотного зв'язку за шифротекстом (CFB - Cipher Feed Back);
· режим зворотного зв'язку за виходом (OFB - Output Feed Back).
DES є блоковим шифром. Схема шифрування алгоритму DES наведена на рис.1.1.
Рис.1.1. Схема шифрування алгоритму DES
Початковий текст - блок 64 біт. Процес шифрування полягає в початковій перестановці, 16 циклах шифрування і кінцевій перестановці. Шифрований текст - блок 64 біт. Ключі ki виходять з початкового ключа до (64 біт = 8 байт або 8 символів в АSCII таким чином: вісім бітів, що знаходять в позиціях 8, 16, 24, 32, 40, 48, 56, 64 додаються в ключ так, щоб кожен байт містив непарне число одиниць. Це використовується для виявлення помилок при обміні і зберіганні ключів. Потім роблять перестановку для розширеного ключа (окрім бітів, що додаються, 8, 16, 24, 32, 40, 48, 56, 64).
Режим електронної кодової книги (ЕСВ - Electronic Code Book) - звичайне використання DES як блокового шифру. Шифрований текст розбивається на блоки, при цьому, кожен блок шифрується окремо, нзалежно від інших блоків (рис. 1.2).
Рис.1.2. Режим електронної кодової книги – ECB.
Режим ECB простий в реалізації, але можливе проведення криптоаналізу.
В режимі ECB спотворення при передачі одного 64-бітового бло...